package Underworld_Survival;

import java.util.Arrays;
import java.util.List;

public class MonsterConfig {
    // 前期怪物配置（从3个怪物中选1个）
    public static PeriodConfig<Monster> earlyPeriod() {
        List<WeightedItem<Monster>> candidates = Arrays.asList(
                new WeightedItem<>(new littleWolf(), 0.23),//路遇小狼
                new WeightedItem<>(new little_BoneSoldier(),0.2),//小骨兵
                new WeightedItem<>(new bigWolf(), 0.1) //凶狼对峙
        );
        return new PeriodConfig<>(candidates, 1, 1);
    }

    // 中期怪物配置（从2个怪物中选1个）
    public static PeriodConfig<Monster> midPeriod() {
        List<WeightedItem<Monster>> candidates = Arrays.asList(
                new WeightedItem<>(new crystalSpider(), 0.08),  //水晶蜘蛛
                new WeightedItem<>(new bigWolf(), 0.2)          //凶狼对峙
        );
        return new PeriodConfig<>(candidates, 1, 1);
    }

    // 后期怪物配置（从3个怪物中选1个）
    public static PeriodConfig<Monster> latePeriod() {
        List<WeightedItem<Monster>> candidates = Arrays.asList(
                new WeightedItem<>(new crystalSpider(), 0.14),  //水晶蜘蛛
                new WeightedItem<>(new crystalGuard(), 0.08),   //晶甲卫兵
                new WeightedItem<>(new bigWolf(), 0.1)          //凶狼对峙
        );
        return new PeriodConfig<>(candidates,1, 1);
    }

    //末期怪物配置（从2个怪物中选1个）
    public static PeriodConfig<Monster> finalPeriod() {
        List<WeightedItem<Monster>> candidates = Arrays.asList(
                new WeightedItem<>(new crystalSpider(), 0.2), //水晶蜘蛛
                new WeightedItem<>(new crystalGuard(), 0.16)  //晶甲卫兵
        );

        return new PeriodConfig<>(candidates,1, 1);
    }

    // 无尽模式怪物配置（从10个怪物中选1个）
    public static PeriodConfig<Monster> endlessMode() {
        List<WeightedItem<Monster>> candidates = Arrays.asList(
                new WeightedItem<>(new littleWolf(), 0.1),       //路遇小狼
                new WeightedItem<>(new little_BoneSoldier(), 0.1),//小骨兵
                new WeightedItem<>(new bigWolf(), 0.1),          //凶狼对峙
                new WeightedItem<>(new crystalSpider(), 0.1),    //水晶蜘蛛
                new WeightedItem<>(new crystalGuard(), 0.1),     //晶甲卫兵
                new WeightedItem<>(new boss_Werewolf(), 0.1),    //boss:狼人来袭！！！
                new WeightedItem<>(new boss_MirageBlade(), 0.1), //boss:幻影剑士！！！
                new WeightedItem<>(new boss_ShadowHealer(), 0.1),//boss:暗影巫医！！！
                new WeightedItem<>(new boss_MoltenGiant(), 0.1),  //boss:熔岩巨人！！！
                new WeightedItem<>(new boss_BoneSoulCommander(), 0.1)  //boss:骨魄统领！！！
        );
        return new PeriodConfig<>(candidates, 1, 1);
    }
}
